Real-time recording agent for streaming data from an internet

ABSTRACT

A personal recorder/playback system (10) includes a recording agent (32) configured to transparently receive multiple audio/visual streams from analog and/or digital sources. The streams are temporarily stored in queues (52,54) for subsequent analysis. The streams, after analysis, are either discarded, stored permanently in an audio/visual collection (48,50), or used to improve the quality of previously stored streams in the collection. The recording agent (32) provides features such as virtual channels (42) and a “top-ten” list (38) of most popular stored audio/visual streams.

CROSS REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. provisional application Ser.No. 60/438,214 filed Jan. 6, 2003, which is incorporated herein byreference.

The present invention relates to the field of image display systems;more specifically, it relates to a method and system for controlling thecontrast of pixels in a displayed image.

This invention relates to the recording of audiovisual and audio streamsfrom broadcast sources such as radio and TV stations or the Internet. Inparticular it relates to real-time recording of video and music titlesfor replay at a later time.

The present invention relates to streaming content such as Internetradio and TV, and in particular, to a method of providing viewers withimproved methods of recording titles according to a user's preferencesand listening or viewing habits.

The quantity of streaming content available over the Internet and othersources such as cable television and satellite has increased rapidly inrecent years. Recent bandwidth and technology improvements have madeInternet multimedia more viable for everyday use. Inexpensive cablemodems, DSL modems and direct broadcast satellite (DBS) dishes havebrought high-speed Internet access into homes, thus eliminatingbandwidth constraints.

Streaming content like Internet radio and TV are, therefore, becomingmore and more popular. Radio stations are transmitting their program viathe Internet. Some radio stations even transmit only via the Internet.The same phenomenon is happening with video content.

Currently a user can typically only listen to a single radio station orTV station. It is not an easy task to find a radio or TV station that istransmitting a song or film of a favored artist. As a result, usersoftentimes miss a desired song or film, or miss a portion of it becauseconnection to the station was made midway through broadcasting of thesong or film.

In the past, users have relied on pre-printed program listings for TVcontent, however, there are numerous disadvantages in using an externalpaper-based information source which is updated usually once a week.Pre-printed listings for songs broadcast by radio stations would be evenmore cumbersome for the user. In recent years, electronic program guideshave been developed, however, these are still not user friendly andrequire advance planning on the part of the user. Additionally, thesearch capabilities with such guides are manual and interrupt theviewing and listening experience of the user. Also, manual techniquesare very limited in the present day situation where hundreds of videoand audio sources are available.

Windows applications exist that can record individual Internet radiostreams. However, the user is responsible for manually setting up theconnection and starting and stopping the recording of such a stream.

It is desirable, therefore, to provide a system and method that providesan improved method of receiving analog or digital audio/visual streamsthat match a user's preferences.

It is further desirable to provide a system and method that provides animproved method of playing audio/visual streams that match selectiveuser preferences.

A personal recording and playback system is provided having a receivingmeans (19, 21) for receiving streaming audio/visual input from at leastone of: broadcast radio, broadcast TV stations, cable TV systems,satellite TV systems, the Internet, and other wide-area networks. Thesystem also includes a means (21) for connecting to wide area networks,including the Internet, and receiving streaming audio or audio/visualinput. A storage means (36) stores the received streaming audio oraudio/visual input. A user input means (12) provides for inputting usercommands to the recording/playback system (10) and a user output means(14) provides for outputting the audio or audio/visual input. Arecording means (32) transparently: tracks audio or audio/visualpreferences of a user of the system (10); maintains a user profiledatabase (34) for storing and maintaining user preferences; receivesmultiple audio or audio/visual streams via the receiving means (19, 21);and stores the received multiple audio or audio/visual streams on thestorage means (36), in the background. The system maintains an audio oraudio/visual recording collection (48,50) according to the userpreferences by analyzing the received audio/visual streams.

An embodiment of the personal recording and playback system (10)includes a receiver (19,21) which receives streaming audio oraudio/visual input from at least one of: analog broadcast radio/TVstations, cable TV systems, satellite TV systems, and Internet servers.A memory (36) is included in which the received streaming audio oraudio/visual input is stored; a user input/output (12,14) is includedthrough which user commands and queries are input and audio oraudio/visual streams and queries are output. A processor (32) isprogrammed to: track audio or audio/visual preferences of a user of thesystem (10), maintain a user profile database (34), receive multipleaudio or audio/visual streams in the background via the receiver (19,21)and store the received multiple audio or audio/visual streams in thememory (36) and, maintain an audio or audio/visual recording collection(48,50) in the memory according to the user preferences by analyzing thereceived audio/visual streams.

A method for maintaining an audio/visual collection is provided,comprising: receiving one or more audio or audio/visual streams in abackground process transparent to a user; storing the received audio oraudio/visual streams for subsequent analysis; monitoring the playbackpreferences of the user; maintaining a user preference profile includingthe user playback preferences; storing and maintaining the audio oraudio/visual streams in a video/audio collection (48, 50); analyzing andmatching the recorded audio or audio/visual streams to the userpreference profile, and, at least one of: discarding the queued streamif unmatched to a user preference; storing the queued stream in theaudio or audio/video collection if matched to a user preference and notpreviously stored in the audio/video collection; or, using the queuedstream to selectively improve a matching, previously stored audio oraudio/visual stream in the audio or audio/video collection; and, playingthe stored audio or audio/visual streams.

One advantage of the present invention is that it provides an improvedmethod of receiving preferred audio/visual streams without user action.

Another advantage is that the present invention provides improvedmethods of playback of audio/visual streams such as virtual channels anda most-popular list.

Yet another advantage provided by the present invention is the automaticrecording of audio/visual streams to a collection, and the automaticimprovement of recorded audio/visual streams, performed transparentlyfrom the view of the user so that advantages of the present inventionare provided without user intervention.

Still further advantages of the present invention will become apparentto those of ordinary skill in the art upon reading and understanding thefollowing detailed description of the preferred embodiments.

The invention may take form in various parts and arrangements of parts.The drawings are only for purposes of illustrating a preferredembodiment and are not to be construed as limiting the invention.

FIG. 1 is a block diagram of a personal recorder/playback system inaccordance with the present invention;

FIG. 2 is a flow chart of a recording agent scanning method according tothe present invention;

FIG. 3 is a flow chart of a recording agent monitoring method accordingto the present invention;

FIG. 4 is a flow chart of a recording agent video update methodaccording to the present invention;

FIG. 5 is a flow chart of a recording agent audio update methodaccording to the present invention; and

FIG. 6 is a flow chart of a recording agent playback method according tothe present invention.

An audio/visual system for receiving streaming content for sources suchas, Internet radio and Internet TV is shown in FIG. 1. The audio/visualsystem 10 includes a user input device 12 for selecting sources forlistening, viewing, and recording and for otherwise controlling thesystem 10. The audio/visual system 10 also includes a user output device14 including speakers and a display device. User input device 12utilizes a selection means 16 for selecting sources and channels ofaudio or visual titles to be recorded and viewed. The selection means 16may connect to sources such as broadcast radio and TV stations 18 via abroadcast receiver component 19, including satellite and cable stations.Sources also include those connected to on the Internet 20 via a networkconnection component 21, such as Internet radio and TV stations 22.

Various video and audio players are provided in the audio video system10 such as a video player 24 for playing MPEG2 files, an MP3 audioplayer 26, and other players 28 for playing various other video andaudio formats. A format check means 30 is provided for examining theformat of audio and visual sources received from the selection means 16for the purpose of routing the selections to the correct player 24, 26,28.

A recording agent 32 is provided with the audio/visual system 10, andthe recording agent tracks the preferences and the profile of the userof the system 10 and maintains this in a profile database 34 on areal-time file system 36. Included in, or associated with, user profile34, is a top-ten list 38 containing the ten most broadcasted musicand/or video titles of those which are included in the user'spreferences. This provides the user of the system with an indication ofwhich titles, among the user's preferred channels, are currently mostpopular. Also included are a video/music history 40, containing ahistory of music and video played by the user, and virtual channelprofiles 42, each virtual channel containing music or video titlesaccording to the profile for the respected virtual channel. The top-tenlist 38, the video/music history 40, and the virtual channel profiles 42are explained in more detail below.

The recording agent 32 scans one or more lists of radio/TV stations suchas provided by one or more satellite/cable electronic program guides 44and one or more Internet electronic program guides 46 and determineswhat is being transmitted and at what times. The recording agent 32maintains the user profile 34, and the profile provides informationabout favorite artists, favorite songs, favorite films, favorite series,and other information related to the user. When the recording agent 32has sufficient information from the electronic program guides 44 and 46to identify music or video titles that match the profile of the user,the user recording agent 32 records the content in either of a musiccollection 48 or a video collection 50 on the real-time file system 36.Typically, a plurality of sources are recorded concurrently and theindividual songs or music videos are stored and cataloged.

A significant feature of the recording agent 32 is that the functions ofscanning program guides and lists, maintaining the user profile,recording the content in the music collection 48 and the videocollection 50, and other necessary functions are performed in abackground process, transparent to the user. Thus, the user is notnegatively impacted by operations of the recording agent 32, and theuser is provided an improved listening and/or viewing experience becauseof the actions of the recording agent.

The recording agent 32, while recording music and video titles to themusic collection 48 or the video collection 50, is responsible for notrecording duplicates. However, rather than ignoring a title that isknown to have been stored in either collection previously, the recordingagent 32 uses a number of methods to determine if the stored title canbe improved. For example, if the title was recorded from a lower qualityanalog source, but the current title is being recorded from high qualitydigital source, the recording agent 32 then replaces the title in acollection with the title of improved quality. In the preferredembodiment, the recording agent 32 records music and video titles into amusic queue 52 or a video queue 54 for analysis after recording the fulltitle. For example, a song and music collection 48 may be of goodquality. However, the beginning of the song or the ending of the songmay have a voice-over on it. For example, when a DJ is still talking ashe starts playing a selection. In this event, the recording agent 32,after recording a duplicate title in the music queue 52, uses ananalysis program 56 to splice the title in the music queue 52 with thetitle in the music collection 48 in order to eliminate any voice-overportions in the title, thereby improving the user's listeningexperience. Commercials, laugh tracks, and the like are removedanalogously.

The analysis program 56 similarly compares a title in the musiccollection 48 to one recently stored in the music queue 52 and removesdefects of any sort in the title stored in the music collection 48. Asection of the same title stored in the music queue 52 can be splicedinto or averaged with the title in the collection 48 to improve thequality of it. Similar techniques may be used to improve the quality ofcollections in the video collection 50 by matching or splicing fromcollections recently stored in the video queue 54. Recordings in themusic queue 52 and the video queue 54 are, however, only temporarilystored in real-time file system 36 and are discarded shortly afteranalysis. Alternately, the titles from multiple sources can beredundantly recorded in a common memory and duplicates and non-profiletitles removed in a later or continuous processing operation.

It is not always possible for the recording agent 32 to determine theexact nature of a title being provided by the broadcast systems 18 orthe Internet radio and TV systems 22 in order to determine if it fitsthe user profile. It is not always possible to determine the exactbeginning or end of a radio or TV program or of a song or film. In thesecases, the recording agent 32 utilizes the music queue 52 and/or thevideo queue 54 to record these selections completely, and then performcontent analysis, using the analysis program 56, afterwards. Using areal-time file system such as the real-time file system 36 isadvantageous for embodiments of the present invention because areal-time file system allows the recording agent 32 to simultaneouslyrecord and play back multiple streams in real time. Real-time filesystems are well known in the art and any number of real-time filesystems may be incorporated into embodiments of the present application.

The recording agent 32 will not always have an accurate identificationof a title being broadcast in a streaming format. In these cases, therecording agent 32 utilizes a fingerprint analysis program 58 in orderto quickly analyze the broadcast stream and determine the title (e.g.the name of the song and the artist) by utilizing an audio fingerprintdatabase. The recording agent 32, in a preferred embodiment, maintains alocal fingerprint database 60 on the real-time file system 36 so thatstreaming titles may be quickly identified and matched to titles thathave been previously stored or analyzed. If the fingerprint analysisprogram 58 is unable to identify a title by utilizing local fingerprintdatabase 60, it then connects to one or more fingerprint portals 62 onthe Internet in order to perform additional fingerprint analysis on thestreaming title. If the title cannot be identified in this fashion, therecording agent 32 can either discard the title or, at a convenienttime, may query the user of the system for a title or permission todiscard the title.

The recording agent 32 must also deal with the problem of differentstreaming formats. For example, FIG. 1 shows an MPEG2 video player 24and an MP3 audio player 26.

However, many other formats are available for streaming, and new formatsare being developed each day. It is therefore necessary and advantageousto be able to support other players 28 for other streaming formats andpresently unknown streaming formats. To accomplish this, the recordingagent 32 maintains a plug-in database 64 on the real-time file system36. The plug-in database 64 includes modules that can decode a varietyof streaming formats. If the recording agent 32 encounters a format forwhich it does not have an available plug-in on the plug-in database 64,it accesses, via Internet 20, one or more plug-in portals 66 forretrieving and updating its plug-in database 64. The plug-ins are thenused by the recording agent 32 and the format check 30 for decoding avariety of streaming formats.

The recording agent 32 is also responsible for maintaining the top-tenlist 38. The top-ten list includes the ten most frequently broadcastedmusic and/or video titles among those preferred by the user aspreviously described. Although this is referred to in the presentapplication as a top-ten list, this is for exemplary purposes only andthe user may configure the number of titles to be included in thetop-ten list. The recording agent 32 utilizes information gathered whilescanning titles from the above-described sources to maintain a broadcastcount for each title and also maintains and utilizes the video/musichistory 40 for purposes of maintaining the top-ten list. In thisfashion, then the user of the system 10 is provided an improvedlistening or viewing experience by being able at any time to listen toor view the ten currently most popular recorded selections from thetop-ten list 38.

The user of the system 10 may define the virtual channel profiles 42wherein each profile includes specifications unique to that profile. Forexample, one profile might be for country-western music, therebyproviding a virtual country-western channel. The recording agent 32 canthen maintain the virtual channel that records streams in the musicqueue 52 or the video queue 54 and perform content analysis using thecontent analysis program 56 to determine if a selection matches one ofthe virtual channel profiles. Selections may then either be discarded oradded to the music collection 48 or the video collection 50 if theymatch one of the virtual channels. This enhances the user experiencewherein the user, in this example, can listen to country-western musicwithout having to select a particular broadcasting station and, in fact,can listen to selections that have been recorded from numerousbroadcasting stations.

For stations that broadcast a variety of music types, this feature isadvantageous because it categorizes the selections that have been playedand, if the user desires, can select a virtual channel that conforms toone of the categories of music and listen only to those selections at aparticular time. As another option, a profile can be set up for a singlecomposer, e.g. Mozart, and a collection of the selected composer'spieces collected. Similarly, a profile can be set up for a single singerand the fingerprints used to identify her singing.

In addition to being able to record radio stations and develop the musiccollection 48 from music broadcast on radio stations, the recordingagent 32 utilizes a video removal tool 68 for subtracting the video froman audio/visual broadcast from a source such as MTV thereby leaving onlythe audio portion. The audio portion then may be further analyzed by thecontent analysis 56 or the fingerprint analysis 58 for furtherprocessing by the recording agent 32 and updating of the musiccollection 48. In this manner, the user then can listen to the musicportion of a video as if it were part of the music collection storedfrom a radio source.

FIG. 2 contains a flow diagram of a background scanning method 100suitable for incorporation into the recording agent 32 for maintainingthe music collection 48 and the video collection 50. The scanning method100 operates in the background without intervention from the user inputdevice 12. It operates invisibly in the background without disturbingthe user and transparently records video and audio streams and updatesthe music collection 48 and the video collection 50.

In step 102, scanning method 100 retrieves content lists or electronicprogram guides from broadcast TV such as provided on cable or satelliteand from the Internet 20. Electronic programming guides may be found onInternet sites such as windowsmedia.com and bloomberg.com, and manyothers. Once scanning method 100 has retrieved content lists fromvarious sources, step 104 builds a recording list based on knowninformation from the electronic program guides and the user profile. Instep 106, the scanning method records titles in the recording list whenthey are broadcast to either of the music queue 52, or the video queue54, for later analysis. Preferably, multiple audible streams arerecorded simultaneously. This is made possible by the use of thereal-time file system 36. While step 106 is recording titles of whichsufficient information is known to match them to the users profile, itis often the case that video or audio information is being streamedwithout sufficient advance information to know the title or the qualityof the stream, or whether it fits the users profile. In step 108, theseother streams are recorded to the music queue 52 and the video queue 54for fingerprint and content analysis. It is the responsibility of therecording agent 32 to maintain the top-ten list 38 and, accordingly,updates the list 38 when necessary at step 110 based on the userpreferences and broadcast statistics maintained for each recorded title.

The recording agent 32 is responsible for monitoring the viewing andlistening habits of a user. A monitoring method 120 suitable forincorporation into the recording agent 32 for monitoring the usersactivity, as shown in FIG. 3, monitors all song titles and videos viewedby the user, whether the user is playing from the collection 48, thecollection 50, or playing a selection being broadcast by the broadcastsources 18 or the Internet radio resources 22. At step 122, themonitoring method 120 determines if the user is playing a source fromeither the music collection 48 or the video collection 50 as opposed toa source from the broadcast sources 18 or the Internet 20 if the user isnot playing a video or song title from the personal collections 48 and50. At step 124, the monitoring method records the music/video to eithermusic queue 52 or the video queue 54 for later analysis. It is to beappreciated that if sufficient information about the title is availablefrom either fingerprinting or from an electronic program guide todetermine that the user would preferably not want to add this to thepresent collection, the recording step 124 and the succeeding step 126may be omitted or bypassed. At step 126 the stored music or videocollection is flagged as “just viewed” for later update of thevideo/music history 40.

If, on the other hand, step 122 determines that the user was playing aselection from the existing music collection 48 or the video collection50, step 128 is invoked to update the users usage statistics in the userprofile 34, thereby maintaining an accurate video/music history 40. Anyrelevant content profile statistics maintained in the user profile 34are updated in step 134. The monitoring method 120 optionally includesstep 136 which queries whether the played title is a member of one ofthe virtual channel profiles 42. If the answer is in the affirmative, atstep 138, the monitoring method updates optional virtual channelstatistics in the virtual channel profiles 42.

As discussed earlier, it is the responsibility of the recording agent 32to update the music collection 48, the video collection 50, the virtualchannel profiles 42 and the video/music history 40. A video updatemethod 150 is shown in FIG. 4, suitable for incorporation in therecording agent 32 for accomplishing this task. A first step 152 of thevideo update method 150 is to determine if there are any stored videosin the video queue 54. If the answer is in the negative, no furtherprocessing is required. However, if the answer is in the affirmative,step 154 is invoked which determines if the selection matches afingerprint in the local fingerprint database 60. If a match cannot befound, step 156 is invoked to locate a fingerprint via one of thefingerprint portals 62. Step 158 queries whether a fingerprint isavailable. If not, step 160 optionally requests an I.D. via the useroutput device 14 and the user input device 12. At step 162, it isdetermined if the user provided an I.D. If not, step 164, at the end ofthe method, removes the selection from the video queue 54. Similarly,because steps 160 and 162 are optional, if step 158 determines that afingerprint cannot be found, a typical default for the video updatemethod 150 would be to invoke step 164 and simply remove the video fromthe video queue 54.

If a fingerprint was found via the portal services 62, step 166 adds thefingerprint to the local fingerprint database 60. Once a fingerprint hasbeen determined for the video selection being analyzed, either fromlocal fingerprint database 60 or from the fingerprint portal 62, step168 is invoked to determine if the selection matches an existing entryin the users video collection 50. If, in step 168, it is determined thatthe recorded entry in the video queue matches an existing entry in thevideo collection 50, step 170 determines if the recorded video in thevideo queue 54 is an improved quality version either partially orcompletely over the existing entry. If it is determined that theexisting entry in the video collection 50 can be improved upon, step 172is invoked where all or part of the existing entry in video collection50 is replaced by the recorded video in video queue 54. Step 174,determines whether the member in the video queue 54 is flagged as “justviewed” and, if so, step 176 is invoked to update usage statistics forthe video in the user profile 34. The next step after step 174 or step176 is step 180 which determines if there is music on the video toextracted and possibly added to the music collection 48. If the answeris in the affirmative, step 182 utilizes video removal tool 68 toextract music titles from the video in the video queue 54 and, in step184, places the extracted music in the music queue 52 for lateranalysis. After step 180 or 184, step 164 removes the entry in the videoqueue 54, and processing returns to step 152 to examine any subsequententries in the video queue 54.

Returning to step 168, if it is determined that the entry from the videoqueue 54 does not match any existing entries in the video collection 50,then it is known that this is a new entry and step 186 is invoked. Step186 determines whether or not a profile of the entry in the music queue54 is known. If it was previously indeterminable whether the musicmatched a profile in the user profile 34, and it is not possible todetermine whether the music is to be collected as part of the musiccollection 48, processing continues at step 180 to determine if there isany music to be extracted from the video. Otherwise, step 188 is invokedto determine if the profile associated with the entry in the music queue54 matches selection criteria according to any of the users profilessuch as the virtual channel profiles or any alternate selectioncriteria. If it is determined that the video in the video queue 54 doesmatch a selection criteria, step 190 adds the video to the videocollection 50. Subsequently, step 192 determines which, if any, virtualchannels are appropriate for this video. The video is added to anyvirtual channels to which its profile matches. Processing then continuesat step 180, as previously described to determine if music is to beextracted from the video.

The above described video update method 150 is accompanied by a similaraudio update method 200 as presented in FIG. 5. The first step in theaudio method 200 is to determine, at step 210, if there are any musicselections in the music queue 52. If there are none, no furtherprocessing is required. However, if there are, step 212 determines ifthe music matches any fingerprints in the local fingerprint database 60.If not, step 214 attempts to locate a fingerprint via the fingerprintportal services 62. If step 216 finds no fingerprint, an optional step218 queries the user for an identification of the music title. In step220, if no I.D. is provided, processing continues at step 222 whichremoves the music entry from the music queue 52. Processing returns tostep 210 to examine any subsequent entries in the music queue. If anidentification can be determined for the music entry in the music queue52, step 224 is invoked and the local fingerprint database 60 is updatedwith a fingerprint of the current entry in the music queue 52. Followingstep 224 or following an affirmative determination in step 212, step 226determines whether the music entry in the music queue 52 matches anyexisting entries in the music collection 48.

If the current entry in the music queue 52 does match an existing entryin the music collection 48, step 228 compares the respective recordingsin order to splice or replace portions of the current music entry in themusic collection 48 to improve the quality. Splicing also occurs toremove voice-over sections from the entry in the music collection 48.Step 230 determines whether or not the entry in the music queue 52 hasbeen “just played.” If so, step 232 updates usage statistics in the userprofile 34. In either case, processing next continues at step 222 wherethe entry is removed from the music queue 52. The processing thenreturns to step 210 for additional processing of any entries in thequeue 52.

If step 226 determines that the current entry in the music queue 52 doesnot match any existing entries in the music collection 48, step 236determines whether or not a profile for the entry in the music queue 52has been determined or is determinable. If not, additional step 238performs content analysis using content the analysis tool 256 in orderto determine profiles for the entry in the music queue 52. In eithercase, step 240 determines if the profile of the current entry in themusic queue 52 matches any selection criteria in the user profile 34. Ifthe answer is in the affirmative, step 242, adds the entry to the musiccollection 48, and step 244 adds the new entry to any virtual channelsin the user profile 34 that match the profile of the new music entry. Inall cases, processing continues with step 222 which removes the entryfrom the music queue 52. The processing again returns to step 210 forfurther processing.

System 10 also includes a play back method 250 as shown in FIG. 6 thatis suitable for implementation as part of the present application. Atstep 250, the user configures any modes of operation such as repeatplay, single play, random play or sequential play, and other commonlyused modes. Step 254, queries whether the user has selected a specificsong. If a specific song has been selected, step 256 plays the selectedsong. Otherwise, step 258, queries if a virtual channel has beenselected for play. If that query is in the affirmative, step 260 playsthe selections in the selected virtual channel according to the modesset in 250, e.g. randomly, sequentially, etc. If the query at step 258is in the negative, step 262 determines if the top-ten list has beenselected for play. If this answer is in the affirmative, step 264 playsthe top-ten list according to modes previously selected in step 252. Ifthe query at step 262 is in the negative, step 266 plays music from theentire music collection 48 according to modes previously selected instep 252. In all cases processing continues at step 268 which determinesif the user wishes the cycle to repeat. If cycle repetition is selected,processing returns to step 254 for further processing and playback.Otherwise, the method is exited at this point. The playback method 250has been described with respect to music, however, the method is adaptedequally well to video play back for music videos, TV programs, specialinterest videos, video clips, movies, and the like.

The invention has been described with reference to the preferredembodiments. Obviously, modifications and alterations will occur toothers upon reading and understanding the preceding detaileddescription. It is intended that the invention be construed as includingall such modifications and alterations insofar as they come within thescope of the appended claims or the equivalents thereof.

1. A personal recording and playback system (10) comprising: a receivingmeans (19, 21) for receiving streaming audio/visual input from at leastone of broadcast radio, broadcast TV stations, cable TV systems,satellite TV systems, the Internet, and other wide-area networks; ameans (21) for connecting to wide area networks including the Internetand receiving streaming audio or audio/visual input; a storage means(36) for storing the received streaming audio or audio/visual input; auser input means (12) for inputting user commands to therecording/playback system (10); a user output means (14) for outputtingthe audio or audio/visual input; a recording means (32) fortransparently: tracking audio or audio/visual preferences of a user ofthe system (10); maintaining a user profile database (34) for storingand maintaining user preferences; receiving multiple audio oraudio/visual streams via the receiving means (19, 21) and storing thereceived multiple audio or audio/visual streams on the storage means(36) in the background; and, maintaining an audio or audio/visualrecording collection (48, 50) according to the user preferences byanalyzing the received audio/visual streams; and a content analysismeans (56) for examining and improving a quality of an audio oraudio/visual stream stored in the recording collection and identifyingat least one of: a profile of the stream, and voice over sections of thestream, degraded sections of the stream, and commercial detection,wherein the content analysis means (56) improves the quality of theaudio or audio/visual stream stored in the recording collection bycomparing a title in the audio or audio/visual recording collection (48,50) to a title stored in a real time file system or a common memory andeither: (i) replacing a title in the audio or audio/visual recordingcollection (48, 50) with a title stored in the real time file system orthe common memory or (ii) replacing portions of the title in the audioor audio/visual recording collection in order to remove voice overportions or defects of any kind or commercials, and wherein theoperation of the content analysis means and replacing of either the saidtitle (i), or portion of the title (ii), in the audio or audio/visualrecording collection, is performed without the user being required tohave previously listened to, or listened to and/or watched, the saidtitle (i) or portions of the title (ii).
 2. The system as set forth inclaim 1, further including: virtual channels (42) stored on the storagesystem (36), each virtual channel configured with a virtual channelprofile defining the types of audio or audio/visual streams to beincluded in the virtual channel and, wherein the recording meansfurther: updates the virtual channels by selectively including receivedaudio or audio/visual streams in each virtual channel which matches thevirtual channel profile.
 3. The system as set forth in claim 1, furtherincluding: a most-popular list means (38) for storing the most oftenbroadcasted audio/visual streams, and, the recording means further:updates the most-popular list with the most often broadcasted audio oraudio/visual streams.
 4. The system as set forth in claim 1, furtherincluding: a selection means (16) for playing audio or audio/visualstreams selected by the user via the input device (12) on the useroutput device (14) from one of: the receiving means (19, 21) ; and, theaudio/visual collection (48, 50).
 5. The system as set forth in claim 4,further including: a fingerprint analysis means (58) for identifyingaudio or audio/visual streams by matching a portion or portions of thestream to fingerprints stored in one of a local fingerprint database(60) and a remote fingerprint database (62).
 6. The system as set forthin claim 4, further including a video removal means (68) for removing avideo portion from an audio/visual stream, leaving an audio portion. 7.The system as set forth in claim 4, further including: a format-checkmeans (30) for determining and decoding a format of an audio oraudio/visual stream, the formats including: MPEG2; MPEG4; MP3; OggVorbis; DIVX; Realplayer Real-Video; Realplayer Real-Audio; MicrosoftWindows Media; Microsoft Netshow; Apple Quicktime; Xing StreamWorks; andanalog.
 8. The system as set forth in claim 7, further including: aplug-in database means (64) for storing and retrieving plug-ins toenable the format check means (30) to determine and decode additionalaudio or audio/visual stream formats.
 9. A personal recording andplayback system (10) according to claim 1 wherein: the system includes aprocessor (32) programmed to: track audio or audio/visual preferences ofa user of the system (10); maintain a user profile database (34);receive multiple audio or audio/visual streams in the background via thereceiver (19, 21) and store the received multiple audio or audio/visualstreams in the memory (36); and, maintain an audio or audio/visualrecording collection (48, 50) in the memory according to the userpreferences by analyzing the received audio/visual streams.
 10. Thesystem as set forth in claim 9, further including: a selection processor(16) configured to select audio or audio/visual streams selected by theuser to be played by the input/output (12, 14), the audio oraudio/visual streams being selected from one of: the receiver (19, 21);and, the audio/visual collection (48, 50).
 11. A method for maintainingan audio/visual collection in a device having a memory for storingaudio/visual content and a processor that executes the methodcomprising: receiving one or more audio or audio/visual streams in abackground process transparent to a user; storing the received audio oraudio/visual streams in a memory of the device for subsequent analysis;monitoring playback preferences of the user; maintaining in a memory ofthe device a user preference profile including the user playbackpreferences; storing and maintaining the audio or audio/visual streamsin a audio/visual collection (48, 50) in a memory of the device;analyzing and matching the recorded audio or audio/visual streams to theuser preference profile; and examining and improving a quality of anaudio or audio/visual stream stored in the audio/visual collection andidentifying at least one of: a profile of the stream, voice oversections of the stream, degraded sections of the stream, and commercialdetection, wherein improving the quality of the audio or audio/visualstream stored in the audio/visual collection comprises comparing a titlein the audio or audio/visual recording collection (48, 50) to a titlestored in a real time file system or a common memory and either: (i)replacing a title in the audio or audio/visual recording collection witha title stored in the real time file system or the common memory or (ii)replacing portions of the title in the audio or audio/visual recordingcollection (48, 50) in order to remove voice over portions or defects ofany kind or commercials, and wherein the operation of the contentanalysis means and replacing of either the said title (i), or portion ofthe title (ii), in the audio or audio/visual recording collection, isperformed without the user being required to have previously listenedto, or listened to and/or watched, the said title (i) or portions of thetitle (ii).
 12. The method as set forth in claim 11, wherein the step ofmaintaining a user profile further includes: maintaining one or morevirtual channels, each virtual channel configured according to specificuser preferences and including stored audio or audio/video collectionstreams matching the specific user preferences.
 13. The method as setforth in claim 12, wherein the step of storing the queued streamincludes: selectively adding the stored stream to the virtual channels.14. The method as set forth in claim 11, wherein the step of maintaininga user profile further includes: maintaining a most-popular listincluding a configured number of stored audio or audio/video collectionstreams most often received.
 15. The method as set forth in claim 11,further including at least one of: identifying each of the audio oraudio/visual streams by matching its fingerprint to a local fingerprintdatabase entry; identifying each of the audio or audio/visual streams bymatching its fingerprint to a remote fingerprint database entry; and,subtracting the video portion from an audio or audio/visual stream toproduce an audio stream.
 16. A personal recording and playback system(10) comprising: a receiving means (19, 21) for receiving streamingaudio/visual input from at least one of broadcast radio, broadcast TVstations, cable TV systems, satellite TV systems, the Internet, andother wide-area networks: a means (21) for connecting to wide areanetworks including the Internet and receiving streaming audio oraudio/visual input; a storage means (36) for storing the receivedstreaming audio or audio/visual input; a user input means (12) forinputting user commands to the recording/playback system (10); a useroutput means (14) for outputting the audio or audio/visual input; arecording means (32) for transparently: tracking audio or audio/visualpreferences of a user of the system (10); maintaining a user profiledatabase (34) for storing and maintaining user preferences; receivingmultiple audio or audio/visual streams via the receiving means (19, 21)and storing the received multiple audio or audio/visual streams on thestorage means (36) in the background; and, maintaining an audio oraudio/visual recording collection (48, 50) according to the userpreferences by analyzing the received audio/visual streams; and acontent analysis means (56) for examining and improving a quality of anaudio or audio/visual stream stored in the recording collection andidentifying at least one of: a profile of the stream, and voice oversections of the stream, degraded sections of the stream, and commercialdetection, wherein the content analysis means (56) improves the qualityof the audio or audio/visual stream stored in the recording collectionby comparing a title in the audio or audio/visual recording collection(48, 50) to a title stored in a real time file system or a common memoryand replacing portions of the title in the audio or audio/visualrecording collection in order to remove voice over portions or defectsof any kind or commercials and wherein the operation of the contentanalysis means and replacing of the title, or portion of the title, inthe audio or audio/visual recording collection, is performed without theuser being required to have previously listened to, or listened toand/or watched, the said title or portions of the title.